//引入mongoose
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test', {}, (err) => {
    if (err) {
        console.log(err);
    }
    console.log('数据库登录成功');
});

let userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    gender: String,
    score: Number,
    address: String
});

let userModel = mongoose.model('userModel', userSchema, 'users');

//添加
// let result = userModel.create({
//     name: "刘洋",
//     age: 18,
//     gender: "女",
//     address: "成都市",
//     score: 78
// }, {
//     name: "小雨",
//     age: 18,
//     gender: "女",
//     address: "资中市",
//     score: 80
// }, {
//     name: "小秋",
//     age: 25,
//     gender: "男",
//     address: "攀枝花市",
//     score: 56
// }, {
//     name: "小田",
//     age: 18,
//     gender: "女",
//     address: "达州市",
//     score: 84
// }, {
//     name: "李四",
//     age: 18,
//     gender: "男",
//     address: "重庆市",
//     score: 99
// });
// result.then((data) => {
//     console.log(data);
// })

//查询
/*
参数1： 条件
参数2： 显示的列名
*/
//查询所有的学生
// let result=userModel.find();
// result.then((data) => {
//     console.log(data);
// })

//查询所有的性别为男的同学
// let result = userModel.find({
//     gender: '男'
// });
// result.then((data) => {
//     console.log(data);
// })

//查询成年的学生
//$gt 大于 $gte 大于等于
// let result = userModel.find({
//     age: {
//         $gte: 18
//     }
// })
// result.then((data) => {
//     console.log(data);
// })

//查询未成年的学生
// $lt 小于 $lte 小于等于
// let result = userModel.find({
//     age: {
//         $lt: 18
//     }
// })
// result.then((data) => {
//     console.log(data);
// })

//查询年龄大于等于18 并小于25
// let result = userModel.find({age:{$gte:18,$lt:25}});
// result.then((data) => {
//     console.log(data);
// })

//查询姓李的男同学，住在重庆市
// let result=userModel.find({name:/^李/ig,gender:'男',address:/重/ig});
// result.then((data) => {
//     console.log(data);
// })

//查询年龄大于18 或者 性别为女的同学，只显示姓名，年纪
// let result=userModel.find({$or:[{age:{$gte:18}},{gender:'女'}]},["name","age"])
// result.then((data) => {
//     console.log(data);
// })

//删除
// let result = userModel.deleteOne({
//     password: "10000"
// });
// result.then((data) => {
//     console.log(data);
// })

//修改
//1.0修改一个
// let result = userModel.updateOne({
//     _id: '61822cff4e6c8473298d7be9'
// }, {
//     password: '10086'
// });

//2.0修改全部
// let result = userModel.updateMany({
//     password: '10000'
// })
// result.then((data) => {
//     console.log(data);
// })

//把没及格的改为60
// let result=userModel.updateMany({score:{$lt:60}},{score:60});
// result.then((data) => {
//     console.log(data);
// })

//排序
//以后在工作中一般都排序（降序）
//默认为升序
//升序为：1 （asc）;降序(desc)： -1  

//通过名字降序处理
// let result = userModel.find().sort({age:-1});
// result.then((data) => {
//     console.log(data);
// })

//先通过名字降序处理，性别也是降序处理
// let result = userModel.find().sort({age:-1,gender:-1});
// result.then((data) => {
//     console.log(data);
// })
